SAP ABAP 选择屏幕、事件流、ALV报表 | 您所在的位置:网站首页 › abap Call function 关键字 › SAP ABAP 选择屏幕、事件流、ALV报表 |
选择屏幕
(1)PARAMETERS对象及其属性 PARAMETERS: p_id like dbtab-id, p_checkbox AS CHECKBOX DEFAULT ‘X’, p_radio RADIOBUTTON GROUP g1 DEFAULT ‘X’, p_radio RADIOBUTTON GROUP g1, p_radio RADIOBUTTON GROUP g1. 语法 说明 DEFAULT ‘A’ 初始值 LENGTH N 定义长度,只适用于C、N、X、P类型 DECIMALS des 指定小数点位数 MEMORY ID pid 指定SAP内存参数ID MATCHCODE OBJECT mobj 设定使用的Search Help MODIF ID 通过SCREEN-GROUP1为屏幕元素分组 NO-DISPLAY 不显示在画面上 LOWER CASE 区分大小写(默认大写) (2)SELECT-OPTIONS对象及其属性 SELECT-OPTIONS: so_id FOR itab-id DEFAULT 1, so_age FOR itab-age OBLIGATORY NO INTERVALS NO-EXTENSION. 语法 说明 DEFAULT ‘A’ 初始值 DEFAULT g… OPTION op… SIGN s 初始的option和sign DEFAULT g TO h 初始的low值和high值,SIGN为‘BT’ DEFAULT ID pid 指定SAP内存参数ID MATCHCODE OBJECT mobj 设定使用的Search Help OBLIGATORY 必输项 VISIBLE LENGTH vlen 显示长度 NO-EXTENSION 隐藏多指输入按钮 NO INTERVALS 隐藏high输入部分 (3)空行 SELECTION-SCREEN SKIP 2. (4)分割线 SELECTION-SCREEN ULINE /1(30) (5)屏幕框架 SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t-001. …… SELECTION-SCREEN END OF BLOCK b1. 事件流事件流 说明 INITIALZATION 在屏幕未显示前初始化 AT SELECTION-SCREEN OUTPUT 用于对屏幕输入值的校验 AT SELECTION-SCREEN ON … 屏幕输入遇错处理,检查某个具体的输入值 AT SELECTION-SCREEN ON VALUE REQUEST FOR { para|selcrit-low|selcrit-high } (F4) 用于实现屏幕输入域的自定义F4搜索帮助 AT SELECTION-SCREEN ON HELP REQUEST FOR { para|selcrit-low|selcrit-high } (F1) 用于实现屏幕输入域的自定义F1帮助 AT SELECTION-SCREEN ON { para|selcrit } 指定输入域输入值时触发 AT SELECTION-SCREEN ON BLOCK (block) 用于管控框架中的屏幕输入值 AT SELECTION-SCREEN ON RADIOBUTTON GROUP (radi) 用于管控单选框按钮组输入值 AT SELECTION-SCREEN ON END OF (selcrit) 用于SELECT-OPTIONS对象,在输入域进行多行数据输入时触发 AT SELECTION-SCREEN 用于屏幕输入检查 START-OF-SELECTION 在执行程序时触发 END-OF-SELECTION 在START-OF-SELECTION执行后,输出屏幕还未显示前触发 GET… 从逻辑数据库中得到数据 TOP-OF-PAGE 设计输出单的页头 END-OF-PAGE 设计输出单的页脚 AT USER COMMAND
AT LINE SELECTION
(1)报表事件的终止命令 ① STOP. 结束当前事件,直接转向END-OF-SELECTION(只能用于AT SELECTION-SCREEN/START-OF-SELECTION/GET事件) ② EXIT. 离开过程块,直接转向列表输出屏幕,不执行END-OF-SELECTION ③ RETURN. 离开过程块,直接转向列表输出屏幕,不执行END-OF-SELECTION ④ CHECK . 当条件为假时,离开当前事件,并转向下一个事件
2.ALV (1)ALV通过函数方式实现 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING i_callback_program = gv_repid it_fieldcat_lvc = gt_fieldcat[] is_layout_lvc = gs_layout i_callback_pf_status_set = 'FRM_SET_PF_STATUS' i_callback_user_command = 'FRM_USER_COMMAND' i_save = 'A' TABLES t_outtab = gt_so EXCEPTIONS program_error = 1 OTHERS = 2. (2)设置显示列 常用属性字段(LVC_S_FCAT) gs_fieldcat-fieldname = &1. gs_fieldcat-coltext = gs_fieldcat-coltext_l = gs_fieldcat-coltext_m = gs_fieldcat-coltext_s = gs_fieldcat-reptext = &2. gs_fieldcat-key = &3. gs_fieldcat-checkbox = &4. gs_fieldcat-edit = &5. gs_fieldcat-hotspot = &6. gs_fieldcat-ref_table = &7. gs_fieldcat-ref_field = &8. gs_fieldcat-qfieldname =’REDDI’. gs_fieldcat-no_zero = ‘X’. APPEND gs_fieldcat TO gt_fieldcat. 在REUSE_ALV_GRID_DISPLAY_LVC函数中添加it_fieldcat_lvc = gt_fieldcat[] 字段 说明 FIELDNAME 字段名称 SXRTEXT_L/M/S 列标题描述 KEY 是否关键字,设置’X’,位置固定 CHECKBOX 是否显示复选框 EDIT 是否可编辑 HOSTSPOT 鼠标是否出现手型光标标识 REF_TABLE/REF_FIELD 字段参考数据库表和字段 DO_SUM 是否显示总计值 ICON 是否显示为图标 (3)设置布局 常用属性字段(LVC_S_LAYO) gs_layout-cwidth_opt = abap_true. gs_layout-zebra = abap_true. gs_layout-box_fname = ‘LILI’ 在REUSE_ALV_GRID_DISPLAY_LVC函数中添加is_layout_lvc = gs_layout 字段 说明 ZEBRA ALV是否深浅颜色间隔显示 SMALLTITLE ALV小标题 CWIDTH_OPT 列宽是否按照该列最长显示字段自动调整宽度 NO_ROWMARK 左侧选择按钮是否显示 BOX_FNAME 左侧选择按钮选中后对应的字段 EDIT ALV单元格是否可编辑 STYLEFNAME 指定颜色 NO_TOOLBAR 工具栏不显示 NO_TOTLINE 设置不输出总计行 (4)设置排序参数 常用属性字段(LVC_S_SORT) gs_sort-spos = 1. gs_sort-fieldname = ‘ID’. gs_sort-down = ‘X’. gs_sort-subtot = ‘X’. APPEND gs_sort TO gt_sort. 在REUSE_ALV_GRID_DISPLAY_LVC函数中添加it_sort_lvc = gt_sort 字段 说明 SPOS 指定排序字段的先后顺序 FIELDNAME 排序字段名称 UP 按升序排列输出 DOWN 按降序排序输出 SUBTOT 是否执行并输出小计,此设置必须与列属性的DO_SUM一同使用 (5)设置自定义工具栏 FORM frm_pf_status_prt USING u_extab TYPE slis_t_extab ##CALLED. SET PF-STATUS 'PF_STATUS_PRT' EXCLUDING u_extab. ENDFORM. 在REUSE_ALV_GRID_DISPLAY_LVC函数中添加i_callback_pf_status_set = ‘FRM_SET_PF_STATUS’ (6)用户命令和响应
FORM frm_user_command USING uv_ucomm LIKE sy-ucomm us_selfield TYPE slis_selfield. CASE uv_ucomm. WHEN 'ALL'. PERFORM frm_sel_all. WHEN 'SAVE'. PERFORM frm_save_all. ENDCASE. ENDFORM. 在REUSE_ALV_GRID_DISPLAY_LVC函数中添加i_callback_user_command = ‘FRM_USER_COMMAND’ |
CopyRight 2018-2019 实验室设备网 版权所有 |